﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;

/// <summary>
/// Summary description for CaracteristicaPerfil
/// </summary>
public class CaracteristicaPerfil
{
    private string nombreCaracteristica;
    private string CategoriaCaracteristicas_nombreCategoria;

    public CaracteristicaPerfil(string nombreCaracteristica, string CategoriaCaracteristicas_nombreCategoria)
    {
        this.nombreCaracteristica = nombreCaracteristica;
        this.CategoriaCaracteristicas_nombreCategoria = CategoriaCaracteristicas_nombreCategoria;
    }

	public CaracteristicaPerfil()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public string ObtCategoriaDeCaracteristica()
    {
        return CategoriaCaracteristicas_nombreCategoria;
    }

    public string ObtNombreCaracteristica()
    {
        return nombreCaracteristica;
    }

    public string ActualizarCaracteristica(string nuevoNombre)
    {
        if (ExisteCaracteristica())
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string campoValor = "nombreCaracteristica=" + "'" + nuevoNombre + "'";
            string condicion = "nombreCaracteristica=" + "'" + nombreCaracteristica + "'";
            string actualizar = bd.Actualizar("CaracteristicaPerfil", campoValor, condicion);
            bd.CerrarConexion();
            return actualizar;
        }
        return "No existe la caracteristica.";
    }

    public string EliminarCaracteristica()
    {
        if (ExisteCaracteristica())
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string condicion = "nombreCaracteristica=" + "'" + nombreCaracteristica + "'";
            string eliminar = bd.Eliminar("CaracteristicaPerfil", condicion);
            bd.CerrarConexion();
            return eliminar;
        }
        return "No existe la caracteristica.";
    }

    public List<CaracteristicaPerfil> ObtCaracteristicasDePerfil()
    {
        BD bd = new BD();
        bd.AbrirConexion();
        DataTable dt = bd.Consultar("select * from CaracteristicaPerfil");
        bd.CerrarConexion();

        List<CaracteristicaPerfil> listcar = new List<CaracteristicaPerfil>();
        int cont = 0;
        foreach (DataRow dr in dt.Rows)
        {
            CaracteristicaPerfil car = new CaracteristicaPerfil(dt.Rows[cont]["nombreCaracteristica"].ToString(),dt.Rows[cont]["CategoriaCaracteristicas_nombreCategoria"].ToString());
            cont++;
            listcar.Add(car);
        }
        return listcar;
    } 

    public bool ExisteCaracteristica()
    {
        if (nombreCaracteristica != "")
        {
            BD bd = new BD();
            bd.AbrirConexion();
            string consulta = "select nombreCaracteristica from CaracteristicaPerfil where nombreCaracteristica=" + "'" + nombreCaracteristica + "'";
            DataTable dt = bd.Consultar(consulta);
            bd.CerrarConexion();
            if (dt.Rows.Count != 0)
                return true;
        }
        return false;
    }

    public string GuardarCaracteristica()
    {
        if (!ExisteCaracteristica())
        {
            BD bd = new BD();
            string campos = "(nombreCaracteristica,CategoriaCaracteristicas_nombreCategoria)";
            string valores = "('" + nombreCaracteristica + "','"+CategoriaCaracteristicas_nombreCategoria+"')";
            bd.AbrirConexion();
            string insert = bd.Insertar("CaracteristicaPerfil", campos, valores);
            bd.CerrarConexion();
            return insert;
        }
        return "ya existe la caracteristica";
    }
}
